package com.wyh.service;


import com.wyh.common.response.PageInfo;
import com.wyh.common.result.R;
import com.wyh.entity.MsgVerifyMessage;
import com.wyh.request.AddChatRoomVerifyMessageRequest;
import com.wyh.request.AddFriendVerifyMessageRequest;
import com.wyh.request.MsgVerifyMessageRequest;
import com.wyh.vo.AddFriendVo;
import com.wyh.vo.VerifyMessageVo;

import java.util.List;

/**
 * 【请填写功能名称】接口
 *
 * @author WangYuHang
 * @date 2024-03-08
 */
public interface IMsgVerifyMessageService {


    /**
     * 添加好友验证消息
     * @param addFriendVerifyMessageRequest
     * @return
     */
    R<String> addFriendVerifyMessage(AddFriendVerifyMessageRequest addFriendVerifyMessageRequest);


    /**
     * 添加群聊验证消息
     * @param addChatRoomVerifyMessageRequest
     * @return
     */
    R<String> addChatRoomVerifyMessage(AddChatRoomVerifyMessageRequest addChatRoomVerifyMessageRequest);


    /**
     * 查询所有验证消息
     * @return
     */
    R<List<VerifyMessageVo>> getVerifyMessage();

    /**
     * 处理验证消息
     * @param msgVerifyMessageRequest
     * @return
     */
    R<String> disposeVerifyMessage(MsgVerifyMessageRequest msgVerifyMessageRequest);

    /**
     * 删除
     *
     * @param id id
     * @return boolean
     */
    boolean delete(Integer id);

    /**
     * 批量删除
     *
     * @param ids ids
     * @return boolean
     */
    boolean deleteBatch(List<Integer> ids);

    /**
     * 新增
     *
     * @param param param
     * @return MsgVerifyMessage
     */
    MsgVerifyMessage add(MsgVerifyMessageRequest param);
    /**
     * 更新
     *
     * @param param param
     * @return boolean
     */
    boolean update(MsgVerifyMessageRequest param);

    /**
     * 查询单条数据，Specification模式
     *
     * @param id id
     * @return MsgVerifyMessage
     */
    MsgVerifyMessage getById(Integer id);

    /**
     * 查询分页数据
     *
     * @param param param
     * @return PageInfo<MsgVerifyMessage>
     */
    PageInfo<MsgVerifyMessage> pageList(MsgVerifyMessageRequest param);


    /**
     * 查询所有数据
     *
     * @return List<MsgVerifyMessage>
     */
    List<MsgVerifyMessage> list(MsgVerifyMessageRequest param);


}
